package com.zejson.dao.inf;

import com.zejson.entity.User;
import com.zejson.util.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface GeneralDaoInf {

    long countByExample(String mapper, Object example) throws ClassNotFoundException;

    int deleteByExample(String mapper, Object example) throws ClassNotFoundException;

    int deleteByPrimaryKey(String mapperName, Integer id) throws ClassNotFoundException;

    int insert(String mapperName, Object record) throws ClassNotFoundException;

    int insertSelective(String mapperName, Object record) throws ClassNotFoundException;

    List<Object> selectByExample(String mapperName, Object example) throws ClassNotFoundException;

    Object selectByPrimaryKey(String mapperName, Integer id) throws ClassNotFoundException;

    int updateByExampleSelective(String mapperName, @Param("record") Object record, @Param("example") Object example) throws ClassNotFoundException;

    int updateByExample(String mapperName, @Param("record") Object record, @Param("example") Object example) throws ClassNotFoundException;

    int updateByPrimaryKeySelective(String mapperName, Object record) throws ClassNotFoundException;

    int updateByPrimaryKey(String mapperName, Object record) throws ClassNotFoundException;

    void setPage(String mapperName, Page page) throws ClassNotFoundException;

    int insertByAutoGeneratePK(String mapperName, Object record) throws ClassNotFoundException;
}
